import {getUserLoginInfo, getCodeToToken} from '@/ajax/index';
import {prowerType} from '@/types/response';
import {removeToken, setToken} from '@/utils/auth';
import {getPermissionList} from '@/utils/getRouterPerms';

export default {
  async usersLoginAction(context: any, data: any) {
    // return new Promise((resolve, reject) => {
    // 	ssoLogin(data)
    // 		.then(async (res: any) => {
    // 			// if (res.succ) {
    // 			// 	context.commit(`SET_USER_INFO`, res.content);
    // 			// 	context.commit(`SET_TOKEN_INFO`, {
    // 			// 		'token': res.access_token,
    // 			// 		'refreshToken': res.refresh_token
    // 			// 	});
    // 			// 	setToken(`DM_tokenAppID`, res.access_token);
    // 			// 	setToken(`DM_tokenAppID_ref`, res.refresh_token);
    // 			// }
    // 			if (res && res.options.token) {

    // 				// context.commit(`SET_USER_INFO`, res.content);
    // 				context.commit(`SET_TOKEN_INFO`, {
    // 					'token': res.options.token,
    // 					'refreshToken': res.options.refreshToken
    // 				});
    // 				setToken(`DM_tokenAppID`, res.options.token);
    // 				setToken(`DM_tokenAppID_ref`, res.options.refreshToken);
    // 			}
    // 			resolve(res);
    // 		})
    // 		.catch(err => {
    // 			reject(err);
    // 		});
    // });
  },
  async getUserInfoAction(context: any, data: any) {
    return new Promise((resolve, reject) => {

      getUserLoginInfo(data)
        .then((res: any) => {
          if (res.succ) {
            const userInfo = JSON.parse(JSON.stringify(res.content));
            delete userInfo.powerAliasTree;
            // const { powerAliasTree } = res.content;
            // menuType  M 系统 C 路由  F 按钮
            const powerAliasTree: Array<prowerType> = [
              {
                'id': `QcnBWgFOEeuG8gJCrBwAAg`,
                'version': 3,
                'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                'createDate': `2020-09-28 05:48:39`,
                'updateDate': `2020-09-28 06:25:14`,
                'name': `数字空间`,
                'alias': ``,
                'menuType': `M`,
                'path': `/system`,
                'component': ``,
                'icon': `home`,
                'isFrame': false,
                'visible': true,
                'enabled': true,
                'sequence': 1,
                'childList': [
                  // {
                  // 	'id': `nbNEDwFUIGYG8K89rGHAAe`,
                  // 	'fid': `QcnBWgFOEeuG8gJCrBwAAg`,
                  // 	'name': `工作台`,
                  // 	'alias': ``,
                  // 	'menuType': `C`,
                  // 	'path': `/home`,
                  // 	'component': `Layout`,
                  // 	'icon': `workspace`,
                  // 	'isFrame': false,
                  // 	'visible': true,
                  // 	'enabled': true,
                  // 	'sequence': 1,
                  // 	'version': 2,
                  // 	'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                  // 	'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                  // 	'createDate': `2020-09-28 05:51:13`,
                  // 	'updateDate': `2020-09-28 06:26:16`,
                  // },
                  /*                  {
                                      'id': `nbNEDwFUIGYG8K89rGHAAg`,
                                      'fid': `QcnBWgFOEeuG8gJCrBwAAg`,
                                      'name': `待实名认证`,
                                      'alias': ``,
                                      'menuType': `C`,
                                      'path': `/noCertified`,
                                      'component': `Layout`,
                                      'icon': `home`,
                                      'isFrame': false,
                                      'visible': false,
                                      'enabled': true,
                                      'sequence': 1,
                                      'version': 2,
                                      'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                                      'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                                      'createDate': `2020-09-28 05:51:13`,
                                      'updateDate': `2020-09-28 06:26:16`,
                                    },
                                    {
                                      'id': `nbNEDwFUIGYG8K89rGHAAh`,
                                      'fid': `QcnBWgFOEeuG8gJCrBwAAg`,
                                      'name': `探索`,
                                      'alias': ``,
                                      'menuType': `C`,
                                      'path': `/workspace`,
                                      'component': `Layout`,
                                      'icon': `explore`,
                                      'isFrame': false,
                                      'visible': true,
                                      'enabled': true,
                                      'sequence': 1,
                                      'version': 2,
                                      'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                                      'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                                      'createDate': `2020-09-28 05:51:13`,
                                      'updateDate': `2020-09-28 06:26:16`,
                                    },*/
                  {
                    'id': `nbNEDwFUIGYG8K89rGHAAi`,
                    'fid': `QcnBWgFOEeuG8gJCrBwAAg`,
                    'name': `基础信息`,
                    'alias': ``,
                    'menuType': `C`,
                    'path': `/workspace`,
                    'component': `Layout`,
                    'icon': `workspace`,
                    'isFrame': false,
                    'visible': true,
                    'enabled': true,
                    'sequence': 1,
                    'version': 2,
                    'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                    'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                    'createDate': `2020-09-28 05:51:13`,
                    'updateDate': `2020-09-28 06:26:16`,
                    'childList': [
                      {
                        'id': `JgbcGU7PE78G8g779BwAAe`,
                        'fid': `nbNEDwFUIGYG8K89rGHAAe`,
                        'name': `能碳产品管理`,
                        'alias': ``,
                        'menuType': `C`,
                        'path': `/carbon/product`,
                        'component': `/carbon/product/index`,
                        'icon': ``,
                        'isFrame': false,
                        'visible': true,
                        'enabled': true,
                        'sequence': 1,
                        'version': 1,
                        'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'createDate': `2020-09-28 05:55:02`,
                        'updateDate': `2020-09-28 06:26:27`
                      },
                      {
                        'id': `JgbcGU7PE78G8g779BwAAe`,
                        'fid': `nbNEDwFUIGYG8K89rGHAAe`,
                        'name': `监控点配置`,
                        'alias': ``,
                        'menuType': `C`,
                        'path': `/carbon/monitoring/index`,
                        'component': `/carbon/monitoring/index`,
                        'icon': ``,
                        'isFrame': false,
                        'visible': true,
                        'enabled': true,
                        'sequence': 1,
                        'version': 1,
                        'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'createDate': `2020-09-28 05:55:02`,
                        'updateDate': `2020-09-28 06:26:27`
                      }
                    ]
                  },
                  {
                    'id': `nbNEDwFUIGYG8K89rGHAAe`,
                    'fid': `QcnBWgFOEeuG8gJCrBwAAg`,
                    'name': `能源配置`,
                    'alias': ``,
                    'menuType': `C`,
                    'path': `/energyConfig`,
                    'component': `Layout`,
                    'icon': `workspace`,
                    'isFrame': false,
                    'visible': true,
                    'enabled': true,
                    'sequence': 1,
                    'version': 2,
                    'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                    'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                    'createDate': `2020-09-28 05:51:13`,
                    'updateDate': `2020-09-28 06:26:16`,
                    'childList': [
                      {
                        'id': `JgbcGU7PE78G8g779BwAAe`,
                        'fid': `nbNEDwFUIGYG8K89rGHAAe`,
                        'name': `能源类型`,
                        'alias': ``,
                        'menuType': `C`,
                        'path': `/energyConfig/type`,
                        'component': `/energyConfig/type/index`,
                        'icon': ``,
                        'isFrame': false,
                        'visible': true,
                        'enabled': true,
                        'sequence': 1,
                        'version': 1,
                        'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'createDate': `2020-09-28 05:55:02`,
                        'updateDate': `2020-09-28 06:26:27`
                      },
                      {
                        'id': `JgbcGU7PE78G8g779BwAAe`,
                        'fid': `nbNEDwFUIGYG8K89rGHAAe`,
                        'name': `变压器配置`,
                        'alias': ``,
                        'menuType': `C`,
                        'path': `/energyConfig/capacityPower`,
                        'component': `/energyConfig/capacityPower/index`,
                        'icon': ``,
                        'isFrame': false,
                        'visible': true,
                        'enabled': true,
                        'sequence': 1,
                        'version': 1,
                        'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'createDate': `2020-09-28 05:55:02`,
                        'updateDate': `2020-09-28 06:26:27`
                      }
                    ]
                  },
                  {
                    'id': `nbNEDwFUIGYG8K89rGHAAe`,
                    'fid': `QcnBWgFOEeuG8gJCrBwAAg`,
                    'name': `能碳管理`,
                    'alias': ``,
                    'menuType': `C`,
                    'path': `/carbonMgr`,
                    'component': `Layout`,
                    'icon': `workspace`,
                    'isFrame': false,
                    'visible': true,
                    'enabled': true,
                    'sequence': 1,
                    'version': 2,
                    'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                    'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                    'createDate': `2020-09-28 05:51:13`,
                    'updateDate': `2020-09-28 06:26:16`,
                    'childList': [
                      {
                        'id': `JgbcGU7PE78G8g779BwAAe`,
                        'fid': `nbNEDwFUIGYG8K89rGHAAe`,
                        'name': `交易账簿`,
                        'alias': ``,
                        'menuType': `C`,
                        'path': `/carbonMgr/tradingBook`,
                        'component': `/carbonMgr/tradingBook/index`,
                        'icon': ``,
                        'isFrame': false,
                        'visible': true,
                        'enabled': true,
                        'sequence': 1,
                        'version': 1,
                        'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'createDate': `2020-09-28 05:55:02`,
                        'updateDate': `2020-09-28 06:26:27`
                      }
                    ]
                  },
                  {
                    'id': `nbNEDwFUIGYG8K89rGHAAe`,
                    'fid': `QcnBWgFOEeuG8gJCrBwAAg`,
                    'name': `流程管理`,
                    'alias': ``,
                    'menuType': `C`,
                    'path': `/bpmMgr`,
                    'component': `Layout`,
                    'icon': `workspace`,
                    'isFrame': false,
                    'visible': true,
                    'enabled': true,
                    'sequence': 1,
                    'version': 2,
                    'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                    'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                    'createDate': `2020-09-28 05:51:13`,
                    'updateDate': `2020-09-28 06:26:16`,
                    'childList': [
                      {
                        'id': `JgbcGU7PE78G8g779BwAAe`,
                        'fid': `nbNEDwFUIGYG8K89rGHAAe`,
                        'name': `减排措施`,
                        'alias': ``,
                        'menuType': `C`,
                        'path': `/bpmMgr/reducer`,
                        'component': `/bpmMgr/reducer/index`,
                        'icon': ``,
                        'isFrame': false,
                        'visible': true,
                        'enabled': true,
                        'sequence': 1,
                        'version': 1,
                        'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'createDate': `2020-09-28 05:55:02`,
                        'updateDate': `2020-09-28 06:26:27`
                      }
                    ]
                  },
                  /*
                 {
                   'id': `nbNEDwFUIGYG8K89rGHAAe`,
                   'fid': `QcnBWgFOEeuG8gJCrBwAAg`,
                   'name': `能碳管理`,
                   'alias': ``,
                   'menuType': `C`,
                   'path': `/workspace`,
                   'component': `Layout`,
                   'icon': `workspace`,
                   'isFrame': false,
                   'visible': true,
                   'enabled': true,
                   'sequence': 1,
                   'version': 2,
                   'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                   'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                   'createDate': `2020-09-28 05:51:13`,
                   'updateDate': `2020-09-28 06:26:16`,
                 },
                 {
                   'id': `nbNEDwFUIGYG8K89rGHAAe`,
                   'fid': `QcnBWgFOEeuG8gJCrBwAAg`,
                   'name': `流程管理`,
                   'alias': ``,
                   'menuType': `C`,
                   'path': `/workspace`,
                   'component': `Layout`,
                   'icon': `workspace`,
                   'isFrame': false,
                   'visible': true,
                   'enabled': true,
                   'sequence': 1,
                   'version': 2,
                   'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                   'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                   'createDate': `2020-09-28 05:51:13`,
                   'updateDate': `2020-09-28 06:26:16`,
                 },*/
                  // {
                  // 	'id': `nbNEDwFUIGYG8K89rGHAAf`,
                  // 	'fid': `QcnBWgFOEeuG8gJCrBwAAg`,
                  // 	'name': `空间`,
                  // 	'alias': ``,
                  // 	'menuType': `C`,
                  // 	'path': `/space`,
                  // 	'component': `Layout`,
                  // 	'icon': `space`,
                  // 	'isFrame': false,
                  // 	'visible': true,
                  // 	'enabled': true,
                  // 	'sequence': 1,
                  // 	'version': 2,
                  // 	'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                  // 	'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                  // 	'createDate': `2020-09-28 05:51:13`,
                  // 	'updateDate': `2020-09-28 06:26:16`,
                  // },
                  // {
                  // 	'id': `nbNEDwFUIGYG8K89rGHAAj`,
                  // 	'fid': `QcnBWgFOEeuG8gJCrBwAAg`,
                  // 	'name': `身份`,
                  // 	'alias': ``,
                  // 	'menuType': `C`,
                  // 	'path': `/identity`,
                  // 	'component': `Layout`,
                  // 	'icon': `identity`,
                  // 	'isFrame': false,
                  // 	'visible': true,
                  // 	'enabled': true,
                  // 	'sequence': 1,
                  // 	'version': 2,
                  // 	'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                  // 	'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                  // 	'createDate': `2020-09-28 05:51:13`,
                  // 	'updateDate': `2020-09-28 06:26:16`,
                  // },
                  /*{
                    'id': `nbNEDwFUIGYG8K89rGHAAe`,
                    'fid': `QcnBWgFOEeuG8gJCrBwAAg`,
                    'name': `绿色产品管理`,
                    'alias': ``,
                    'menuType': `C`,
                    'path': `/product`,
                    'component': `Layout`,
                    'icon': `icon-yonghuguanli`,
                    'isFrame': false,
                    'visible': true,
                    'enabled': true,
                    'sequence': 1,
                    'version': 2,
                    'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                    'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                    'createDate': `2020-09-28 05:51:13`,
                    'updateDate': `2020-09-28 06:26:16`,
                    'childList': [
                      {
                        'id': `JgbcGU7PE78G8g779BwAAe`,
                        'fid': `nbNEDwFUIGYG8K89rGHAAe`,
                        'name': `评价对象管理`,
                        'alias': ``,
                        'menuType': `C`,
                        'path': `/evaluationList`,
                        'component': `/productManage/evaluationList`,
                        'icon': ``,
                        'isFrame': false,
                        'visible': true,
                        'enabled': true,
                        'sequence': 1,
                        'version': 1,
                        'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'createDate': `2020-09-28 05:55:02`,
                        'updateDate': `2020-09-28 06:26:27`
                      },
                      {
                        'id': `Jgb88U7PE7228G8g779BwAAf`,
                        'fid': `JgbcGU7PE78G8g779BwAAe`,
                        'name': `评价对象管理详情`,
                        'alias': ``,
                        'menuType': `C`,
                        'path': `/evaluationDetail`,
                        'component': `/productManage/evaluationDetail`,
                        'icon': ``,
                        'isFrame': false,
                        'visible': false,
                        'enabled': true,
                        'sequence': 1,
                        'version': 1,
                        'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'createDate': `2020-09-28 05:55:02`,
                        'updateDate': `2020-09-28 06:26:27`
                      },
                      {
                        'id': `Jgb88U7PE78G8g779BwAAf`,
                        'fid': `nbNEDwFUIGYG8K89rGHAAe`,
                        'name': `绿评申请`,
                        'alias': ``,
                        'menuType': `C`,
                        'path': `/applyList`,
                        'component': `/groupManage/groupAddEdit`,
                        'icon': ``,
                        'isFrame': false,
                        'visible': true,
                        'enabled': true,
                        'sequence': 1,
                        'version': 1,
                        'createUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'updateUser': `GLNY-t6ZEemnogBQVsAACA`,
                        'createDate': `2020-09-28 05:55:02`,
                        'updateDate': `2020-09-28 06:26:27`
                      }
                    ]
                  }*/
                ]
              }
            ];
            const list = powerAliasTree.filter(r => r.name === `数字空间`);
            if (userInfo.status) {
              context.commit(`SET_USER_STATUS`, 1);
            } else {
              context.commit(`SET_USER_STATUS`, 0);
            }
            if (list.length > 0 && list[0].childList) {
              userInfo.powerAliasTree = list[0].childList
              const {permsArr, routerList} = getPermissionList(list[0].childList);
              console.log('routerList===', routerList)
              context.commit(`SET_PROWER_ALIAS_TREE`, userInfo.powerAliasTree);
              context.commit(`SET_USER_INFO`, userInfo);
              context.commit(`SET_ROTURE_LIST`, routerList);
              context.commit(`SET_PROWER_LIST`, permsArr);
            }
          }
          resolve(res);
        })
        .catch(err => {
          reject(err);
        });
    });
  },
  async getCodeToTokenAction(context: any, data: any) {
    await getCodeToToken(data)
      .then(async (res: any) => {
        console.log(res);
        if (res.succ) {
          await context.commit(`SET_TOKEN_INFO`, res.content.token);
          setToken(`token`, res.content.token);
        }
      })
      .catch((err: any) => {
        console.log(err);
      });
  },
  logout(context: any) {
    removeToken(`token`);
    removeToken(`token_ref`);
    context.commit(`SET_USER_INFO`, null);
    context.commit(`SET_TOKEN_INFO`, {'token': ``, 'refreshToken': ``});
  }
};
